package com.hskn.hss.module.oilDevice.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hskn.hss.module.oilDevice.domain.StateOilDevice;
import com.hskn.hss.module.oilDevice.ex.to.OilConsumeExcelTO;
import com.hskn.hss.module.oilDevice.to.OilConsumeTO;
import com.hskn.hss.module.oilDevice.to.OilConsumeTableTO;
import com.hskn.hss.module.oilDevice.to.AddOilSummaryTableTO;
import com.hskn.hss.module.oilDevice.vo.OilConsumeVO;
import com.hskn.hss.utils.BTable;

import java.util.List;

/**
 * 每日油量变化统计Mapper接口
 * 
 * @author ruoyi
 * @date 2021-08-05
 */
public interface StateOilDeviceMapper extends BaseMapper<StateOilDevice>
{
    /**
     * 查询每日油量变化统计
     * 
     * @param id 每日油量变化统计主键
     * @return 每日油量变化统计
     */
    public StateOilDevice selectStateOilDeviceById(String id);

    /**
     * 查询每日油量变化统计列表
     * 
     * @param stateOilDevice 每日油量变化统计
     * @return 每日油量变化统计集合
     */
    public List<StateOilDevice> selectStateOilDeviceList(StateOilDevice stateOilDevice);

    /**
     *  油耗统计
     * @param oilConsumeTO
     * @return 结果
     */
    public List<BTable> selectStateOilDeviceForBTable(OilConsumeTO oilConsumeTO);
    /**
     *  漏油统计
     * @param oilConsumeTO
     * @return 结果
     */
    public List<BTable> selectStateOilDeviceOfOutForBTable(OilConsumeTO oilConsumeTO);
    /**
     *  加油统计
     * @param oilConsumeTO
     * @return 结果
     */
    public List<BTable> selectStateOilDeviceOfAddForBTable(OilConsumeTO oilConsumeTO);
    /**
     *  底部油耗统计列表
     * @param oilConsumeTableTO
     * @return 结果
     */
    public List<OilConsumeVO> selectStateOilDeviceForTTable(OilConsumeTableTO oilConsumeTableTO);
    /**
     *  加油汇总 各机构加油报表
     * @param addOilSummaryTableTO
     * @return 结果
     */
    public List<OilConsumeVO> selectStateOilDeviceTableByDepId(AddOilSummaryTableTO addOilSummaryTableTO);
    /**
     *  加油汇总 各作业类型加油报表
     * @param addOilSummaryTableTO
     * @return 结果
     */
    public List<OilConsumeVO> selectStateOilDeviceTableByOperType(AddOilSummaryTableTO addOilSummaryTableTO);
    /**
     *  加油汇总 各车辆类型加油报表
     * @param addOilSummaryTableTO
     * @return 结果
     */
    public List<OilConsumeVO> selectStateOilDeviceTableByCarType(AddOilSummaryTableTO addOilSummaryTableTO);
    /**
     * 耗油报表导出
     * @param oilConsumeTableExcelTO
     * @return 结果
     */
    public List<OilConsumeVO> selectStateOilDeviceForExcel(OilConsumeExcelTO oilConsumeTableExcelTO);
}
